//#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//int main()
//{
//    int grade = 0, i = 0, sum = 0, count = 0;
//    int arr[7] = { 0 };
//    while (scanf("%d ", &arr[i++]) != EOF)
//    {
//        //从小到大排序
//        for (int m = 0; m < 6; m++)
//        {
//            for (int n = 0; n < 7 - 1 - m; n++)
//            {
//                if (arr[n] > arr[n + 1])
//                {
//                    int tmp = arr[n + 1];
//                    arr[n + 1] = arr[n];
//                    arr[n] = tmp;
//                }
//            }
//        }
//        for (int j = 1; j < 6; j++)
//        {
//            sum += arr[j];
//        }
//        count++;
//        if (count == 7)
//        {
//            printf("%.2f\n", (float)sum / 5);
//            count = 0;
//        }
//    }
//    return 0;
//}
#include<stdio.h>
int Is_Lily_Number(int num)
{
    int sum = 0, mod = 100000;
    while (mod / 10)
    {
        sum = sum + ((num / mod) * (num % mod));
        mod /= 10;
    }
    return sum == num ? 1 : 0;
}
int main()
{
    for (int num = 10000; num < 100000; num++)
    {
        int ret = Is_Lily_Number(num);
        if (ret == 1)
        {
            printf("%d ", num);
        }
    }
    return 0;
}